package com.lcw.library.imagepicker.view;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import androidx.viewpager.widget.ViewPager;

/**
 * 安全的ViewPager实现
 * 
 * 解决ViewPager在某些情况下可能抛出IllegalArgumentException的问题
 * 用于图片预览页面，解决图片缩放手势与ViewPager滑动的冲突
 * 
 */
public class HackyViewPager extends ViewPager {

    public HackyViewPager(Context context) {
        super(context);
    }

    public HackyViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    /**
     * 重写onInterceptTouchEvent方法，捕获可能的异常
     * 防止ViewPager在某些边界情况下崩溃
     * 
     * @param ev 触摸事件
     * @return 是否拦截事件
     */
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        try {
            return super.onInterceptTouchEvent(ev);
        } catch (IllegalArgumentException e) {
            // 捕获ViewPager的IllegalArgumentException异常
            // 这通常发生在ViewPager的子View状态不一致时
            return false;
        }
    }
}
